// -*- mode: java; c-basic-offset: 2; -*-
// Copyright 2015 Massachusetts Institute of Technology. All rights reserved.

/**
 * @fileoverview french strings.
 * @author Adel KASSAH
 */
'use strict';

goog.provide('AI.Blockly.Msg.fr_fr');

goog.require('Blockly.Msg.fr');

/**
 * Due to the frequency of long strings, the 80-column wrap rule need not apply
 * to message files.
 */

Blockly.Msg.fr.switch_language_to_french = {
  // Switch language to French.
  category: '',
  helpUrl: '',
  init: function() {
    Blockly.Msg.ERROR_BLOCK_CANNOT_BE_IN_DEFINTION = 'Ce bloc ne peut pas être dans une définition';
    Blockly.Msg.ERROR_DUPLICATE_EVENT_HANDLER = 'Ceci est un gestionnaire d\'évènement dupliqué pour ce composant.';
    Blockly.Msg.ERROR_SELECT_VALID_ITEM_FROM_DROPDOWN = 'Sélectionner un élément valide dans le menu déroulant.';
    Blockly.Msg.CHANGE_VALUE_TITLE = 'Modifier la valeur :';
    Blockly.Msg.NEW_VARIABLE = 'Nouvelle variable...';
    Blockly.Msg.NEW_VARIABLE_TITLE = 'Nom de la nouvelle variable:';
    Blockly.Msg.PROCEDURE_CATEGORY = 'Procédures';
    Blockly.Msg.RENAME_VARIABLE = 'Renommer la variable...';
    Blockly.Msg.RENAME_VARIABLE_TITLE = 'Renommer les "%1" variables en:\' ';
    Blockly.Msg.VARIABLE_CATEGORY = 'Variables';
    Blockly.Msg.ADD_COMMENT = 'Ajouter un commentaire';
    Blockly.Msg.ARRANGE_H = 'Arranger les blocs horizontalement';
    Blockly.Msg.ARRANGE_S = 'Arrange les blocs en diagonale';
    Blockly.Msg.ARRANGE_V = 'Arranger les blocs verticalement';
    Blockly.Msg.CAN_NOT_DO_IT = 'Impossible de le faire';
    Blockly.Msg.CLEAR_DO_IT_ERROR = 'Effacer l\'erreur';
    Blockly.Msg.COLLAPSE_ALL = 'Réduire les blocs';
    Blockly.Msg.COLLAPSE_BLOCK = 'Réduire le bloc';
    Blockly.Msg.CONNECT_TO_DO_IT = 'Vous devriez être connecté au compagnon ou émulateur pour utiliser "Faire"';
    Blockly.Msg.DELETE_BLOCK = 'Supprimer un bloc';
    Blockly.Msg.DELETE_X_BLOCKS = 'Supprimer %1 blocs';
    Blockly.Msg.DISABLE_BLOCK = 'Désactiver le bloc';
    Blockly.Msg.DO_IT = 'Faire';
    Blockly.Msg.DUPLICATE_BLOCK = 'Dupliquer';
    Blockly.Msg.ENABLE_BLOCK = 'Activer le bloc';
    Blockly.Msg.EXPAND_ALL = 'Développer les blocs';
    Blockly.Msg.EXPAND_BLOCK = 'Développer le bloc';
    Blockly.Msg.EXTERNAL_INPUTS = 'Entrées externes';
    Blockly.Msg.GENERATE_YAIL = 'Générer Yail';
    Blockly.Msg.HELP = 'Aide';
    Blockly.Msg.HIDE_WARNINGS = 'Cacher les avertissements';
    Blockly.Msg.HORIZONTAL_PARAMETERS = 'Arrange les paramètres horizontalement';
    Blockly.Msg.INLINE_INPUTS = 'Entrées en ligne';
    Blockly.Msg.LANG_CATEGORY_CONTROLS = 'Contrôle';
    Blockly.Msg.LANG_CATEGORY_LISTS = 'Listes';
    Blockly.Msg.LANG_CATEGORY_LOGIC = 'Logique';
    Blockly.Msg.LANG_CATEGORY_MATH = 'Maths';
    Blockly.Msg.LANG_CATEGORY_TEXT = 'Texte';
    Blockly.Msg.LANG_COLOUR_BLACK = 'noir';
    Blockly.Msg.LANG_COLOUR_BLUE = 'bleu';
    Blockly.Msg.LANG_COLOUR_CYAN = 'cyan';
    Blockly.Msg.LANG_COLOUR_DARK_GRAY = 'gris foncé';
    Blockly.Msg.LANG_COLOUR_GRAY = 'gris';
    Blockly.Msg.LANG_COLOUR_GREEN = 'vert';
    Blockly.Msg.LANG_COLOUR_LIGHT_GRAY = 'gris clair';
    Blockly.Msg.LANG_COLOUR_MAGENTA = 'magenta';
    Blockly.Msg.LANG_COLOUR_MAKE_COLOUR = 'créer couleur';
    Blockly.Msg.LANG_COLOUR_MAKE_COLOUR_TOOLTIP = 'Une couleur avec rouge, vert, bleu donné, et optionnellement des composants alpha';
    Blockly.Msg.LANG_COLOUR_ORANGE = 'orange';
    Blockly.Msg.LANG_COLOUR_PICKER_TOOLTIP = 'Cliquer sur le carré pour choisir une couleur.';
    Blockly.Msg.LANG_COLOUR_PINK = 'rose';
    Blockly.Msg.LANG_COLOUR_RED = 'rouge';
    Blockly.Msg.LANG_COLOUR_SPLIT_COLOUR = 'Diviser couleur';
    Blockly.Msg.LANG_COLOUR_SPLIT_COLOUR_TOOLTIP = 'Quatre éléments, chacun entre 0 et 255, représentant les composantes rouge, verte, bleu et alpha.\'  ';
    Blockly.Msg.LANG_COLOUR_WHITE = 'blanc';
    Blockly.Msg.LANG_COLOUR_YELLOW = 'jaune';
    Blockly.Msg.LANG_COMPONENT_BLOCK_GENERIC_GETTER_TITLE_OF_COMPONENT = 'de composant';
    Blockly.Msg.LANG_COMPONENT_BLOCK_GENERIC_METHOD_TITLE_CALL = 'appeler ';
    Blockly.Msg.LANG_COMPONENT_BLOCK_GENERIC_METHOD_TITLE_FOR_COMPONENT = 'pour composant';
    Blockly.Msg.LANG_COMPONENT_BLOCK_GENERIC_SETTER_TITLE_OF_COMPONENT = 'de composant';
    Blockly.Msg.LANG_COMPONENT_BLOCK_GENERIC_SETTER_TITLE_SET = 'mettre ';
    Blockly.Msg.LANG_COMPONENT_BLOCK_GENERIC_SETTER_TITLE_TO = ' à';
    Blockly.Msg.LANG_COMPONENT_BLOCK_METHOD_TITLE_CALL = 'appeler ';
    Blockly.Msg.LANG_COMPONENT_BLOCK_SETTER_TITLE_SET = 'mettre ';
    Blockly.Msg.LANG_COMPONENT_BLOCK_SETTER_TITLE_TO = ' à';
    Blockly.Msg.LANG_COMPONENT_BLOCK_TITLE_DO = 'faire';
    Blockly.Msg.LANG_COMPONENT_BLOCK_TITLE_WHEN = 'quand ';
    Blockly.Msg.LANG_CONTROLS_CHOOSE_COLLAPSED_TEXT = 'si';
    Blockly.Msg.LANG_CONTROLS_CHOOSE_INPUT_ELSE_RETURN = 'sinon';
    Blockly.Msg.LANG_CONTROLS_CHOOSE_INPUT_TEST = '';
    Blockly.Msg.LANG_CONTROLS_CHOOSE_INPUT_THEN_RETURN = 'alors';
    Blockly.Msg.LANG_CONTROLS_CHOOSE_TITLE = 'si';
    Blockly.Msg.LANG_CONTROLS_CHOOSE_TOOLTIP = 'Si la condition testée est vraie, retourne le résultat de l\'évaluation de l\'expression attaché à la section \'alors\'; sinon retourne le résultat de l\'évaluation de l\'expression attaché à la section \'sinon\'; au maximum, le résultat de l\'un des deux sections va être évalué.';
    Blockly.Msg.LANG_CONTROLS_CLOSE_APPLICATION_COLLAPSED_TEXT = 'fermer l\'application';
    Blockly.Msg.LANG_CONTROLS_CLOSE_APPLICATION_TITLE = 'fermer l\'application';
    Blockly.Msg.LANG_CONTROLS_CLOSE_APPLICATION_TOOLTIP = 'Ferme tous les écrans dans cette application puis l\'arrête.';
    Blockly.Msg.LANG_CONTROLS_CLOSE_SCREEN_COLLAPSED_TEXT = 'fermer l\'écran';
    Blockly.Msg.LANG_CONTROLS_CLOSE_SCREEN_TITLE = 'fermer l\'écran';
    Blockly.Msg.LANG_CONTROLS_CLOSE_SCREEN_TOOLTIP = 'Ferme l\'écran actuel';
    Blockly.Msg.LANG_CONTROLS_CLOSE_SCREEN_WITH_PLAIN_TEXT_COLLAPSED_TEXT = 'ferme l\'écran avec texte brut';
    Blockly.Msg.LANG_CONTROLS_CLOSE_SCREEN_WITH_PLAIN_TEXT_INPUT_TEXT = 'texte';
    Blockly.Msg.LANG_CONTROLS_CLOSE_SCREEN_WITH_PLAIN_TEXT_TITLE = 'ferme l\'écran avec texte brut';
    Blockly.Msg.LANG_CONTROLS_CLOSE_SCREEN_WITH_PLAIN_TEXT_TOOLTIP = 'Ferme l\'écran actuel et retourne un texte à l\'application qui l\'a ouvert\'. Cette commande est pour retourner du texte aux activités non réalisées par App Inventor, et non pas aux écrans App Inventor. Pour les écrans App Inventor, comme dans les applications multi-écrans, utilisez Fermer écran avec valeur, et non Fermer écran avec texte brut.';
    Blockly.Msg.LANG_CONTROLS_CLOSE_SCREEN_WITH_VALUE_COLLAPSED_TEXT = 'ferme écran avec valeur';
    Blockly.Msg.LANG_CONTROLS_CLOSE_SCREEN_WITH_VALUE_INPUT_RESULT = 'résultat';
    Blockly.Msg.LANG_CONTROLS_CLOSE_SCREEN_WITH_VALUE_TITLE = 'ferme écran avec valeur';
    Blockly.Msg.LANG_CONTROLS_CLOSE_SCREEN_WITH_VALUE_TOOLTIP = 'Ferme l\'écran actuel et retourne un résultat à l\'écran qui a ouvert celui-ci';
    Blockly.Msg.LANG_CONTROLS_DO_THEN_RETURN_COLLAPSED_TEXT = 'faire/résultat';
    Blockly.Msg.LANG_CONTROLS_DO_THEN_RETURN_INPUT_DO = 'faire';
    Blockly.Msg.LANG_CONTROLS_DO_THEN_RETURN_INPUT_RETURN = 'résultat';
    Blockly.Msg.LANG_CONTROLS_DO_THEN_RETURN_TITLE = 'faire résultat';
    Blockly.Msg.LANG_CONTROLS_DO_THEN_RETURN_TOOLTIP = 'Exécute les blocs dans la section \'faire\' et retourne un résultat. Pratique si vous avez besoin d\'une procédure avant de retourner une valeur à une variable.';
    Blockly.Msg.LANG_CONTROLS_EVAL_BUT_COLLAPSED_TEXT = 'évaluer mais ignorer';
    Blockly.Msg.LANG_CONTROLS_EVAL_BUT_IGNORE_TITLE = 'évaluer mais ignorer résultat';
    Blockly.Msg.LANG_CONTROLS_EVAL_BUT_IGNORE_TOOLTIP = 'Exécute les blocs connectés et ignore la valeur retournée (s\'il y en a). Pratique si vous avez besoin d\'appeler une procédure qui retourne une valeur sans en avoir besoin.';
    Blockly.Msg.LANG_CONTROLS_FLOW_STATEMENTS_INPUT_OFLOOP = 'de boucle';
    Blockly.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK = 'interrompre';
    Blockly.Msg.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE = 'continue avec l\'itération suivante';
    Blockly.Msg.LANG_CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK = 'sortir de la boucle';
    Blockly.Msg.LANG_CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE = 'Ignorer le reste de cette boucle, et\ncontinuer avec l\'itération suivante.';
    Blockly.Msg.LANG_CONTROLS_FLOW_STATEMENTS_WARNING = 'Avertissement:\nCe bloc ne peut être utilisé\nqu\'avec une boucle.';
    Blockly.Msg.LANG_CONTROLS_FOREACH_INPUT_COLLAPSED_PREFIX = 'pour';
    Blockly.Msg.LANG_CONTROLS_FOREACH_INPUT_COLLAPSED_SUFFIX = ' dans la liste';
    Blockly.Msg.LANG_CONTROLS_FOREACH_INPUT_COLLAPSED_TEXT = 'pour élément dans la liste';
    Blockly.Msg.LANG_CONTROLS_FOREACH_INPUT_DO = 'faire';
    Blockly.Msg.LANG_CONTROLS_FOREACH_INPUT_INLIST = 'dans la liste';
    Blockly.Msg.LANG_CONTROLS_FOREACH_INPUT_ITEM = 'pour chaque';
    Blockly.Msg.LANG_CONTROLS_FOREACH_INPUT_VAR = 'élément';
    Blockly.Msg.LANG_CONTROLS_FOREACH_TOOLTIP = 'Exécute les blocs dans la section \'faire\' pour chaque élément de la liste. Utilise  le nom de variable donné pour faire référence à l\'élément de la liste courant.';
    Blockly.Msg.LANG_CONTROLS_FORRANGE_INPUT_COLLAPSED_PREFIX = 'pour';
    Blockly.Msg.LANG_CONTROLS_FORRANGE_INPUT_COLLAPSED_SUFFIX = ' dans intervalle';
    Blockly.Msg.LANG_CONTROLS_FORRANGE_INPUT_COLLAPSED_TEXT = 'pour nombre dans intervalle';
    Blockly.Msg.LANG_CONTROLS_FORRANGE_INPUT_DO = 'faire';
    Blockly.Msg.LANG_CONTROLS_FORRANGE_INPUT_END = 'à';
    Blockly.Msg.LANG_CONTROLS_FORRANGE_INPUT_ITEM = 'pour chaque';
    Blockly.Msg.LANG_CONTROLS_FORRANGE_INPUT_START = 'de';
    Blockly.Msg.LANG_CONTROLS_FORRANGE_INPUT_STEP = 'par';
    Blockly.Msg.LANG_CONTROLS_FORRANGE_INPUT_VAR = 'nombre';
    Blockly.Msg.LANG_CONTROLS_FORRANGE_TOOLTIP = 'Exécute les blocs dans la section \'faire\' pour chaque valeur dans l\'intervalle du début à la fin, en incrémentant la valeur à chaque fois.     Utilise le nom de la variable donné pour se référer à la valeur actuelle.\' ';
    Blockly.Msg.LANG_CONTROLS_FOR_INPUT_DO = 'faire';
    Blockly.Msg.LANG_CONTROLS_FOR_INPUT_FROM = 'de';
    Blockly.Msg.LANG_CONTROLS_FOR_INPUT_TO = 'à';
    Blockly.Msg.LANG_CONTROLS_FOR_INPUT_VAR = 'x';
    Blockly.Msg.LANG_CONTROLS_FOR_INPUT_WITH = 'compter avec';
    Blockly.Msg.LANG_CONTROLS_FOR_TOOLTIP = 'Compter d\'un nombre de début à un nombre de fin.\nPour chaque itération, fixer le compteur à \nla variable "%1", puis faire un traitement.';
    Blockly.Msg.LANG_CONTROLS_GET_PLAIN_START_TEXT_COLLAPSED_TEXT = 'obtenir texte brut de début\' ';
    Blockly.Msg.LANG_CONTROLS_GET_PLAIN_START_TEXT_TITLE = 'obtenir texte brut de début';
    Blockly.Msg.LANG_CONTROLS_GET_PLAIN_START_TEXT_TOOLTIP = 'Retourne le texte brut qui a été passé à cet écran quand il a été lancé par une autre application. Si aucune valeur passé, retourne un texte vide. Pour les applications multi-écrans, utilisez obtenir valeur de début au lieu de obtenir texte brut de départ.';
    Blockly.Msg.LANG_CONTROLS_GET_START_VALUE_COLLAPSED_TEXT = 'obtenir valeur de départ';
    Blockly.Msg.LANG_CONTROLS_GET_START_VALUE_INPUT_SCREENNAME = 'nom écran';
    Blockly.Msg.LANG_CONTROLS_GET_START_VALUE_INPUT_STARTVALUE = 'valeur départ';
    Blockly.Msg.LANG_CONTROLS_GET_START_VALUE_TITLE = 'Obtenir valeur de départ';
    Blockly.Msg.LANG_CONTROLS_GET_START_VALUE_TOOLTIP = 'Retourne la valeur qui a été passée à cet écran quand il a été ouvert, typiquement par un autre écran dans une application à plusieurs écrans. Si aucune valeur n\'a été passée, retourne un texte vide.';
    Blockly.Msg.LANG_CONTROLS_IF_ELSEIF_TITLE_ELSEIF = 'sinon si';
    Blockly.Msg.LANG_CONTROLS_IF_ELSEIF_TOOLTIP = 'Ajoute une condition au bloc si.';
    Blockly.Msg.LANG_CONTROLS_IF_ELSE_TITLE_ELSE = 'sinon';
    Blockly.Msg.LANG_CONTROLS_IF_ELSE_TOOLTIP = 'Ajoute une dernière condition au bloc si.';
    Blockly.Msg.LANG_CONTROLS_IF_IF_TITLE_IF = 'si';
    Blockly.Msg.LANG_CONTROLS_IF_IF_TOOLTIP = 'Ajouter, supprimer, ou réorganiser les sections\npour reconfigurer ce bloc si.';
    Blockly.Msg.LANG_CONTROLS_IF_MSG_ELSE = 'sinon';
    Blockly.Msg.LANG_CONTROLS_IF_MSG_ELSEIF = 'sinon si';
    Blockly.Msg.LANG_CONTROLS_IF_MSG_IF = 'si';
    Blockly.Msg.LANG_CONTROLS_IF_MSG_THEN = 'alors';
    Blockly.Msg.LANG_CONTROLS_IF_TOOLTIP_1 = 'Si la valeur est vraie, alors faire quelques choses';
    Blockly.Msg.LANG_CONTROLS_IF_TOOLTIP_2 = 'Si une valeur est vraie, alors effectuer le premier bloc d\'instructions.\nSinon, effectuer le second bloc d\'instructions.';
    Blockly.Msg.LANG_CONTROLS_IF_TOOLTIP_3 = 'Si la première valeur est vraie, alors exécuter  le premier bloc de la déclaration.\nSinon, si la seconde valeur est vraie, exécuter le deuxième bloc de la déclaration.';
    Blockly.Msg.LANG_CONTROLS_IF_TOOLTIP_4 = 'Si la première valeur est vraie, alors exécuter le premier bloc de la déclaration.\nSinon, si le deuxième valeur est vraie, exécuter le second bloc de la déclaration.\nSi aucune de ces valeurs n\'est vraies, alors exécuter le dernier bloc de la déclaration.';
    Blockly.Msg.LANG_CONTROLS_OPEN_ANOTHER_SCREEN_COLLAPSED_TEXT = 'ouvre écran';
    Blockly.Msg.LANG_CONTROLS_OPEN_ANOTHER_SCREEN_INPUT_SCREENNAME = 'Nom écran';
    Blockly.Msg.LANG_CONTROLS_OPEN_ANOTHER_SCREEN_TITLE = 'ouvre un autre écran';
    Blockly.Msg.LANG_CONTROLS_OPEN_ANOTHER_SCREEN_TOOLTIP = 'Ouvre un nouvel écran dans une application à écrans multiples';
    Blockly.Msg.LANG_CONTROLS_OPEN_ANOTHER_SCREEN_WITH_START_VALUE_COLLAPSED_TEXT = 'ouvrir écran avec valeur';
    Blockly.Msg.LANG_CONTROLS_OPEN_ANOTHER_SCREEN_WITH_START_VALUE_INPUT_SCREENNAME = 'nom écran';
    Blockly.Msg.LANG_CONTROLS_OPEN_ANOTHER_SCREEN_WITH_START_VALUE_INPUT_STARTVALUE = 'valeur de départ';
    Blockly.Msg.LANG_CONTROLS_OPEN_ANOTHER_SCREEN_WITH_START_VALUE_TITLE = 'ouvre un autre écran avec une valeur de départ';
    Blockly.Msg.LANG_CONTROLS_OPEN_ANOTHER_SCREEN_WITH_START_VALUE_TOOLTIP = 'Ouvre un nouvel écran dans une application multi-écrans et passe la valeur de départ à cet écran';
    Blockly.Msg.LANG_CONTROLS_WHILEUNTIL_INPUT_DO = 'faire';
    Blockly.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL = 'jusqu\'à';
    Blockly.Msg.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE = 'tant que';
    Blockly.Msg.LANG_CONTROLS_WHILEUNTIL_TITLE_REPEAT = 'répéter';
    Blockly.Msg.LANG_CONTROLS_WHILEUNTIL_TOOLTIP_1 = 'Exécute les blocs dans la section \'faire\' tant que le test est vrai.';
    Blockly.Msg.LANG_CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL = 'Tant que la valeur est fausse, alors faire quelques choses.';
    Blockly.Msg.LANG_CONTROLS_WHILEUNTIL_TOOLTIP_WHILE = 'Tant que la valeur est vraie, alors faire quelques choses.';
    Blockly.Msg.LANG_CONTROLS_WHILE_COLLAPSED_TEXT = 'tant que';
    Blockly.Msg.LANG_CONTROLS_WHILE_INPUT_DO = 'faire';
    Blockly.Msg.LANG_CONTROLS_WHILE_INPUT_TEST = 'test';
    Blockly.Msg.LANG_CONTROLS_WHILE_TITLE = 'tant que';
    Blockly.Msg.LANG_CONTROLS_WHILE_TOOLTIP = 'Exécute le bloc dans la partie \'faire\' tant que le test est vrai';
    Blockly.Msg.LANG_LISTS_ADD_ITEMS_CONTAINER_TITLE_ADD = 'liste';
    Blockly.Msg.LANG_LISTS_ADD_ITEMS_CONTAINER_TOOLTIP = 'Ajouter, supprimer, ou réorganiser les sections pour reconfigurer ce bloc de liste.';
    Blockly.Msg.LANG_LISTS_ADD_ITEMS_INPUT = 'ajouter éléments à la liste liste %1 élément %2';
    Blockly.Msg.LANG_LISTS_ADD_ITEMS_INPUT_ITEM = 'élément';
    Blockly.Msg.LANG_LISTS_ADD_ITEMS_INPUT_LIST = 'liste';
    Blockly.Msg.LANG_LISTS_ADD_ITEMS_TITLE_ADD = 'ajouter éléments à la liste';
    Blockly.Msg.LANG_LISTS_ADD_ITEMS_TOOLTIP = 'Ajoute des éléments à la fin d\'une liste.';
    Blockly.Msg.LANG_LISTS_ADD_ITEM_TITLE = 'élément';
    Blockly.Msg.LANG_LISTS_ADD_ITEM_TOOLTIP = 'Ajouter un élément à la liste';
    Blockly.Msg.LANG_LISTS_APPEND_LIST_INPUT = 'ajouter à la liste    liste1 %1 liste2 %2';
    Blockly.Msg.LANG_LISTS_APPEND_LIST_INPUT_LIST1 = 'liste1';
    Blockly.Msg.LANG_LISTS_APPEND_LIST_INPUT_LIST2 = 'liste2';
    Blockly.Msg.LANG_LISTS_APPEND_LIST_TITLE_APPEND = 'ajouter à la liste';
    Blockly.Msg.LANG_LISTS_APPEND_LIST_TOOLTIP = 'Ajoute tous les éléments dans liste2 à la fin de liste1. Après l\'ajout, liste1 va contenir ces éléments additionnels, par contre  liste2 reste inchangée.';
    Blockly.Msg.LANG_LISTS_COPY_INPUT_LIST = 'liste';
    Blockly.Msg.LANG_LISTS_COPY_TITLE_COPY = 'copier liste';
    Blockly.Msg.LANG_LISTS_COPY_TOOLTIP = 'Réalise une copie de la liste, y compris toutes les sous-listes';
    Blockly.Msg.LANG_LISTS_CREATE_EMPTY_TITLE = 'créer une liste vide';
    Blockly.Msg.LANG_LISTS_CREATE_WITH_CONTAINER_TITLE_ADD = 'liste';
    Blockly.Msg.LANG_LISTS_CREATE_WITH_CONTAINER_TOOLTIP = 'Ajouter, supprimer ou réorganiser les sections pour reconfigurer ce bloc de liste.';
    Blockly.Msg.LANG_LISTS_CREATE_WITH_ITEM_TITLE = 'élément';
    Blockly.Msg.LANG_LISTS_CREATE_WITH_ITEM_TOOLTIP = 'Ajouter un élément à la liste';
    Blockly.Msg.LANG_LISTS_CREATE_WITH_TITLE_MAKE_LIST = 'créer une liste';
    Blockly.Msg.LANG_LISTS_CREATE_WITH_TOOLTIP = 'Créer une liste avec n\'importe quel nombre d\'éléments.';
    Blockly.Msg.LANG_LISTS_FROM_CSV_ROW_INPUT_TEXT = 'texte';
    Blockly.Msg.LANG_LISTS_FROM_CSV_ROW_TITLE_FROM_CSV = 'liste de ligne csv';
    Blockly.Msg.LANG_LISTS_FROM_CSV_ROW_TOOLTIP = 'Analyse un texte comme une ligne au format CSV (valeurs séparées par des virgules) pour produire une liste de champs. Si la ligne de texte contient des sauts de ligne à l\'intérieur de champs , ceci est considéré comme erreur (plusieurs lignes). Il est accepté pour la ligne de texte de finir en une seule nouvelle ligne ou CRLF.';
    Blockly.Msg.LANG_LISTS_FROM_CSV_TABLE_INPUT_TEXT = 'texte';
    Blockly.Msg.LANG_LISTS_FROM_CSV_TABLE_TITLE_FROM_CSV = 'liste de table csv';
    Blockly.Msg.LANG_LISTS_FROM_CSV_TABLE_TOOLTIP = 'Analyse un texte comme un tableau formaté au format CSV pour produire une liste de lignes, chacune d\'elles est une liste de champs. Les lignes peuvent être séparées par des nouvelles lignes  (\n) ou CRLF (\r\n).';
    Blockly.Msg.LANG_LISTS_INPUT_LIST = 'liste';
    Blockly.Msg.LANG_LISTS_INSERT_INPUT = 'insérer liste élément     liste %1 index %2 élément %3';
    Blockly.Msg.LANG_LISTS_INSERT_INPUT_INDEX = 'index';
    Blockly.Msg.LANG_LISTS_INSERT_INPUT_ITEM = 'élément';
    Blockly.Msg.LANG_LISTS_INSERT_INPUT_LIST = 'liste';
    Blockly.Msg.LANG_LISTS_INSERT_TITLE_INSERT_LIST = 'insérer liste élément';
    Blockly.Msg.LANG_LISTS_INSERT_TOOLTIP = 'Insérer un élément dans une liste dans la position spécifiée. ';
    Blockly.Msg.LANG_LISTS_IS_EMPTY_TOOLTIP = 'retourne vrai si la liste est vide';
    Blockly.Msg.LANG_LISTS_IS_IN_INPUT = 'est dans la liste? objet %1 liste %2?';
    Blockly.Msg.LANG_LISTS_IS_IN_INPUT_LIST = 'liste';
    Blockly.Msg.LANG_LISTS_IS_IN_INPUT_THING = 'objet';
    Blockly.Msg.LANG_LISTS_IS_IN_TITLE_IS_IN = 'est dans la liste?';
    Blockly.Msg.LANG_LISTS_IS_IN_TOOLTIP = 'Retourne vrai si l\'objet est un élément dans la liste et faux dans le cas contraire.';
    Blockly.Msg.LANG_LISTS_IS_LIST_INPUT_THING = 'objet';
    Blockly.Msg.LANG_LISTS_IS_LIST_TITLE_IS_LIST = 'est une liste?';
    Blockly.Msg.LANG_LISTS_IS_LIST_TOOLTIP = 'Teste si quelque-chose est une liste.';
    Blockly.Msg.LANG_LISTS_LENGTH_INPUT = 'taille de la liste liste %1';
    Blockly.Msg.LANG_LISTS_LENGTH_INPUT_LENGTH = 'taille de la liste';
    Blockly.Msg.LANG_LISTS_LENGTH_INPUT_LIST = 'liste';
    Blockly.Msg.LANG_LISTS_LENGTH_TOOLTIP = 'Compte le nombre d\'éléments dans la liste.';
    Blockly.Msg.LANG_LISTS_LOOKUP_IN_PAIRS_INPUT = 'recherche dans les paires     clé %1 paires %2 nonTrouvé %3';
    Blockly.Msg.LANG_LISTS_LOOKUP_IN_PAIRS_INPUT_KEY = 'clé';
    Blockly.Msg.LANG_LISTS_LOOKUP_IN_PAIRS_INPUT_NOT_FOUND = 'non trouvé';
    Blockly.Msg.LANG_LISTS_LOOKUP_IN_PAIRS_INPUT_PAIRS = 'paires';
    Blockly.Msg.LANG_LISTS_LOOKUP_IN_PAIRS_TITLE_LOOKUP_IN_PAIRS = 'recherche dans les paires"';
    Blockly.Msg.LANG_LISTS_LOOKUP_IN_PAIRS_TOOLTIP = 'Retourne la valeur associée à la clé dans la liste des paires';
    Blockly.Msg.LANG_LISTS_PICK_RANDOM_ITEM_INPUT_LIST = 'liste';
    Blockly.Msg.LANG_LISTS_PICK_RANDOM_TITLE_PICK_RANDOM = 'choisir un élément aléatoire';
    Blockly.Msg.LANG_LISTS_PICK_RANDOM_TOOLTIP = 'Choisir un élément aléatoirement de la liste';
    Blockly.Msg.LANG_LISTS_POSITION_IN_INPUT = 'index dans la liste    objet %1 liste %2';
    Blockly.Msg.LANG_LISTS_POSITION_IN_INPUT_LIST = 'liste';
    Blockly.Msg.LANG_LISTS_POSITION_IN_INPUT_THING = 'objet';
    Blockly.Msg.LANG_LISTS_POSITION_IN_TITLE_POSITION = 'index dans la liste';
    Blockly.Msg.LANG_LISTS_POSITION_IN_TOOLTIP = 'Trouver la position de l\'objet dans la liste. S\'il n\'est pas dans la liste, retourne 0.';
    Blockly.Msg.LANG_LISTS_REMOVE_ITEM_INPUT = 'supprimer liste élément    liste %1 index %2';
    Blockly.Msg.LANG_LISTS_REMOVE_ITEM_INPUT_INDEX = 'index';
    Blockly.Msg.LANG_LISTS_REMOVE_ITEM_INPUT_LIST = 'liste';
    Blockly.Msg.LANG_LISTS_REMOVE_ITEM_TITLE_REMOVE = 'supprimer élément de la liste';
    Blockly.Msg.LANG_LISTS_REMOVE_ITEM_TOOLTIP = 'Supprime l\'élément à la position spécifiée de la liste';
    Blockly.Msg.LANG_LISTS_REPLACE_ITEM_INPUT = 'remplacer élément de liste     liste %1 indexe %2 remplacent %3';
    Blockly.Msg.LANG_LISTS_REPLACE_ITEM_INPUT_INDEX = 'index';
    Blockly.Msg.LANG_LISTS_REPLACE_ITEM_INPUT_LIST = 'liste';
    Blockly.Msg.LANG_LISTS_REPLACE_ITEM_INPUT_REPLACEMENT = 'remplacent';
    Blockly.Msg.LANG_LISTS_REPLACE_ITEM_TITLE_REPLACE = 'remplacer liste élément';
    Blockly.Msg.LANG_LISTS_REPLACE_ITEM_TOOLTIP = 'Remplacer un élément dans la liste à l\'emplacement spécifié';
    Blockly.Msg.LANG_LISTS_SELECT_ITEM_INPUT = 'choisir liste élément      liste %1 index %2';
    Blockly.Msg.LANG_LISTS_SELECT_ITEM_INPUT_INDEX = 'index';
    Blockly.Msg.LANG_LISTS_SELECT_ITEM_INPUT_LIST = 'liste';
    Blockly.Msg.LANG_LISTS_SELECT_ITEM_TITLE_SELECT = 'sélectionner élément de la liste ';
    Blockly.Msg.LANG_LISTS_SELECT_ITEM_TOOLTIP = 'Retourne l\'élément à la position index dans la liste';
    Blockly.Msg.LANG_LISTS_TITLE_IS_EMPTY = 'est une liste vide?';
    Blockly.Msg.LANG_LISTS_TO_CSV_ROW_INPUT_LIST = 'liste';
    Blockly.Msg.LANG_LISTS_TO_CSV_ROW_TITLE_TO_CSV = 'liste vers ligne csv';
    Blockly.Msg.LANG_LISTS_TO_CSV_ROW_TOOLTIP = 'Interprète la liste comme une ligne d\'une table et retourne un texte CSV (valeur séparée par des virgules) représentant la ligne. Chaque élément dans la liste de la ligne est considéré comme un champ, et est cotée avec guillemets dans le texte CSV résultant. Les éléments sont séparées par des virgules. Le texte de la ligne retournée n\'a pas de séparateur de ligne à la fin.';
    Blockly.Msg.LANG_LISTS_TO_CSV_TABLE_INPUT_LIST = 'liste';
    Blockly.Msg.LANG_LISTS_TO_CSV_TABLE_TITLE_TO_CSV = 'liste vers table csv';
    Blockly.Msg.LANG_LISTS_TO_CSV_TABLE_TOOLTIP = 'Interprète la liste comme un tableau en format ligne-major (row-major ) et renvoie un texte CSV (valeur séparée par des virgules) représentant la table. Chaque élément de la liste elle-même doit être une liste représentant une ligne de la table CSV. Chaque élément dans la ligne de la liste est considérée comme un champ, et est cotée avec guillemets dans le texte CSV résultant. Dans le texte renvoyé, les éléments en lignes sont séparés par des virgules et les lignes sont séparées par CRLF(\r\n).';
    Blockly.Msg.LANG_LOGIC_BOOLEAN_FALSE = 'faux';
    Blockly.Msg.LANG_LOGIC_BOOLEAN_TOOLTIP_FALSE = 'Retourne la valeur booléenne faux.';
    Blockly.Msg.LANG_LOGIC_BOOLEAN_TOOLTIP_TRUE = 'Retourne la valeur booléenne vrai.';
    Blockly.Msg.LANG_LOGIC_BOOLEAN_TRUE = 'vrai';
    Blockly.Msg.LANG_LOGIC_COMPARE_EQ = '=';
    Blockly.Msg.LANG_LOGIC_COMPARE_NEQ = '\u2260';
    Blockly.Msg.LANG_LOGIC_COMPARE_TOOLTIP_EQ = 'Teste si deux objets sont égaux.\nLes objets à comparer peuvent être n\'importe quoi, pas seulement des nombres.\nLes nombres sont considérés égaux à leur format de chaine de caractère,\npar exemple, le numéro 0 est égal au texte "0"';
    Blockly.Msg.LANG_LOGIC_COMPARE_TOOLTIP_NEQ = 'Retourne vrai si les deux entrées ne sont pas égales.';
    Blockly.Msg.LANG_LOGIC_COMPARE_TRANSLATED_NAME = 'égalité logique';
    Blockly.Msg.LANG_LOGIC_NEGATE_INPUT_NOT = 'pas';
    Blockly.Msg.LANG_LOGIC_NEGATE_TOOLTIP = 'Retourne vrai si l\'entrée est fausse.\nRetourne faux si l\'entrée est vraie.';
    Blockly.Msg.LANG_LOGIC_OPERATION_AND = 'et';
    Blockly.Msg.LANG_LOGIC_OPERATION_OR = 'ou';
    Blockly.Msg.LANG_LOGIC_OPERATION_TOOLTIP_AND = 'Retourne vrai si toutes les entrées sont égales.';
    Blockly.Msg.LANG_LOGIC_OPERATION_TOOLTIP_OR = 'Retourne vrai si une des entrées est vrai.';
    Blockly.Msg.LANG_MATH_ARITHMETIC_ADD = '+';
    Blockly.Msg.LANG_MATH_ARITHMETIC_DIVIDE = '/';
    Blockly.Msg.LANG_MATH_ARITHMETIC_MINUS = '-';
    Blockly.Msg.LANG_MATH_ARITHMETIC_MULTIPLY = '*';
    Blockly.Msg.LANG_MATH_ARITHMETIC_POWER = '^';
    Blockly.Msg.LANG_MATH_ARITHMETIC_TOOLTIP_ADD = 'Retourne la somme des deux nombres.';
    Blockly.Msg.LANG_MATH_ARITHMETIC_TOOLTIP_DIVIDE = 'Retourne le quotient des deux nombres.';
    Blockly.Msg.LANG_MATH_ARITHMETIC_TOOLTIP_MINUS = 'Renvoie la différence entre les deux nombres.';
    Blockly.Msg.LANG_MATH_ARITHMETIC_TOOLTIP_MULTIPLY = 'Renvoie le produit des deux nombres.';
    Blockly.Msg.LANG_MATH_ARITHMETIC_TOOLTIP_POWER = 'Retourne le premier nombre\nà la puissance du second nombre.';
    Blockly.Msg.LANG_MATH_COMPARE_EQ = '=';
    Blockly.Msg.LANG_MATH_COMPARE_GT = '>';
    Blockly.Msg.LANG_MATH_COMPARE_GTE = '\u2265';
    Blockly.Msg.LANG_MATH_COMPARE_LT = '<';
    Blockly.Msg.LANG_MATH_COMPARE_LTE = '\u2264';
    Blockly.Msg.LANG_MATH_COMPARE_NEQ = '\u2260';
    Blockly.Msg.LANG_MATH_COMPARE_TOOLTIP_EQ = 'Retourne vrai si les deux nombres sont égaux.';
    Blockly.Msg.LANG_MATH_COMPARE_TOOLTIP_GT = 'Retourne vrai si le premier nombre est plus grand\nque le deuxième nombre.';
    Blockly.Msg.LANG_MATH_COMPARE_TOOLTIP_GTE = 'Retourne vrai si le premier nombre est plus grand\nou égal au second nombre.';
    Blockly.Msg.LANG_MATH_COMPARE_TOOLTIP_LT = 'Retourne vrai si le premier nombre et plus petit  \nque le deuxième nombre.';
    Blockly.Msg.LANG_MATH_COMPARE_TOOLTIP_LTE = 'Retourne vrai si le premier nombre est plus petit\nou égal au deuxième nombre.';
    Blockly.Msg.LANG_MATH_COMPARE_TOOLTIP_NEQ = 'Retourne vrai si les deux nombres ne sont pas égaux.';
    Blockly.Msg.LANG_MATH_CONVERT_ANGLES_OP_DEG_TO_RAD = 'degrés à radians';
    Blockly.Msg.LANG_MATH_CONVERT_ANGLES_OP_RAD_TO_DEG = 'radians à degrés\' ';
    Blockly.Msg.LANG_MATH_CONVERT_ANGLES_TITLE_CONVERT = 'convertir';
    Blockly.Msg.LANG_MATH_CONVERT_ANGLES_TOOLTIP_DEG_TO_RAD = 'Retourne la valeur en radian dans l\'intervalle\ n[-u03C0, + u03C0) correspondant à son argument en degrés.';
    Blockly.Msg.LANG_MATH_CONVERT_ANGLES_TOOLTIP_RAD_TO_DEG = 'Renvoie la valeur de degré dans l\'intervalle\ n[0, 360) correspondant à son argument en radians.';
    Blockly.Msg.LANG_MATH_DIVIDE = 'u00F7';
    Blockly.Msg.LANG_MATH_DIVIDE_OPERATOR_MODULO = 'modulo de';
    Blockly.Msg.LANG_MATH_DIVIDE_OPERATOR_QUOTIENT = 'quotient de\' ';
    Blockly.Msg.LANG_MATH_DIVIDE_OPERATOR_REMAINDER = 'le reste de';
    Blockly.Msg.LANG_MATH_DIVIDE_TOOLTIP_MODULO = 'Renvoie le module.';
    Blockly.Msg.LANG_MATH_DIVIDE_TOOLTIP_QUOTIENT = 'Retourne le quotient.';
    Blockly.Msg.LANG_MATH_DIVIDE_TOOLTIP_REMAINDER = 'Renvoie le reste.';
    Blockly.Msg.LANG_MATH_FORMAT_AS_DECIMAL_INPUT = 'format décimal nombre %1 places %2';
    Blockly.Msg.LANG_MATH_FORMAT_AS_DECIMAL_INPUT_NUM = 'nombre';
    Blockly.Msg.LANG_MATH_FORMAT_AS_DECIMAL_INPUT_PLACES = 'places';
    Blockly.Msg.LANG_MATH_FORMAT_AS_DECIMAL_TITLE = 'format comme décimal';
    Blockly.Msg.LANG_MATH_FORMAT_AS_DECIMAL_TOOLTIP = 'Retourne le nombre au format décimal\navec un nombre spécifique de places\' ';
    Blockly.Msg.LANG_MATH_IS_A_NUMBER_INPUT_NUM = 'est un nombre?';
    Blockly.Msg.LANG_MATH_IS_A_NUMBER_TOOLTIP = 'Teste si quelque-chose est un nombre.';
    Blockly.Msg.LANG_MATH_MUTATOR_ITEM_INPUT_NUMBER = 'nombre';
    Blockly.Msg.LANG_MATH_NUMBER_TOOLTIP = 'Signaler le numéro indiqué';
    Blockly.Msg.LANG_MATH_ONLIST_OPERATOR_MAX = 'max';
    Blockly.Msg.LANG_MATH_ONLIST_OPERATOR_MIN = 'min';
    Blockly.Msg.LANG_MATH_RANDOM_FLOAT_TITLE_RANDOM = 'fraction aléatoire';
    Blockly.Msg.LANG_MATH_RANDOM_FLOAT_TOOLTIP = 'Renvoie un nombre aléatoire entre 0 et 1.';
    Blockly.Msg.LANG_MATH_RANDOM_INT_INPUT = 'entier aléatoire entre %1 et %2';
    Blockly.Msg.LANG_MATH_RANDOM_INT_INPUT_FROM = 'de';
    Blockly.Msg.LANG_MATH_RANDOM_INT_INPUT_TO = 'à';
    Blockly.Msg.LANG_MATH_RANDOM_INT_TITLE_RANDOM = 'Entier aléatoire';
    Blockly.Msg.LANG_MATH_RANDOM_INT_TOOLTIP = 'Retourne un nombre aléatoire compris entre la limite supérieure\net la limite inférieur. Les limites seront coupées pour être plus petites\nque 2**30.';
    Blockly.Msg.LANG_MATH_RANDOM_SEED_INPUT_TO = 'à';
    Blockly.Msg.LANG_MATH_RANDOM_SEED_TITLE_RANDOM = 'génère des ensembles de nombres aléatoires répétables';
    Blockly.Msg.LANG_MATH_RANDOM_SEED_TOOLTIP = 'spécifie la valeur de référence \npour le générateur de nombres aléatoires répétables';
    Blockly.Msg.LANG_MATH_ROUND_OPERATOR_CEILING = 'plafond';
    Blockly.Msg.LANG_MATH_ROUND_OPERATOR_FLOOR = 'plancher';
    Blockly.Msg.LANG_MATH_ROUND_OPERATOR_ROUND = 'arrondi';
    Blockly.Msg.LANG_MATH_ROUND_TOOLTIP_CEILING = 'Arrondi l\'entrée au plus petit nombre\nmais pas moins que l\'entrée';
    Blockly.Msg.LANG_MATH_ROUND_TOOLTIP_FLOOR = 'Arrondi l\'entrée au plus grand nombre\nnon supérieur à l\'entrée';
    Blockly.Msg.LANG_MATH_ROUND_TOOLTIP_ROUND = 'Arrondi un nombre en l\'augmentant ou en le diminuant';
    Blockly.Msg.LANG_MATH_SINGLE_OP_ABSOLUTE = 'absolue';
    Blockly.Msg.LANG_MATH_SINGLE_OP_EXP = 'e^';
    Blockly.Msg.LANG_MATH_SINGLE_OP_LN = 'log';
    Blockly.Msg.LANG_MATH_SINGLE_OP_NEG = 'neg';
    Blockly.Msg.LANG_MATH_SINGLE_OP_ROOT = 'racine carrée';
    Blockly.Msg.LANG_MATH_SINGLE_TOOLTIP_ABS = 'Renvoie la valeur absolue d\'un nombre.';
    Blockly.Msg.LANG_MATH_SINGLE_TOOLTIP_EXP = 'Renvoie e (2,71828...) à la puissance d\'un nombre.';
    Blockly.Msg.LANG_MATH_SINGLE_TOOLTIP_LN = 'Renvoie le logarithme népérien d\'un nombre, i.e. le logarithme de base e (2,71828...)';
    Blockly.Msg.LANG_MATH_SINGLE_TOOLTIP_NEG = 'Renvoie l\'opposé d\'un nombre.';
    Blockly.Msg.LANG_MATH_SINGLE_TOOLTIP_ROOT = 'Renvoie la racine carrée d\'un nombre.';
    Blockly.Msg.LANG_MATH_TRIG_ACOS = 'acos';
    Blockly.Msg.LANG_MATH_TRIG_ASIN = 'asin';
    Blockly.Msg.LANG_MATH_TRIG_ATAN = 'atan';
    Blockly.Msg.LANG_MATH_TRIG_ATAN2 = 'atan2';
    Blockly.Msg.LANG_MATH_TRIG_ATAN2_X = 'x';
    Blockly.Msg.LANG_MATH_TRIG_ATAN2_Y = 'y';
    Blockly.Msg.LANG_MATH_TRIG_COS = 'cos';
    Blockly.Msg.LANG_MATH_TRIG_SIN = 'sin';
    Blockly.Msg.LANG_MATH_TRIG_TAN = 'tan';
    Blockly.Msg.LANG_MATH_TRIG_TOOLTIP_ACOS = 'Fournit l\'angle dans l\'intervalle [0, 180)\ndegrés avec la valeur cosinus donnée.';
    Blockly.Msg.LANG_MATH_TRIG_TOOLTIP_ASIN = 'Fournit l\'angle dans l\'intervalle  (-90,+90]\ndegrés avec la valeur sinus donnée.';
    Blockly.Msg.LANG_MATH_TRIG_TOOLTIP_ATAN = 'Fournit l\'angle dans l\'intervalle (-90, 90) \ndegrés avec la valeur de la tangente donnée.';
    Blockly.Msg.LANG_MATH_TRIG_TOOLTIP_ATAN2 = 'Fournit l\'angle dans l\'intervalle (-180, 180]\ndegrés avec les coordonnées rectangulaires donnés.';
    Blockly.Msg.LANG_MATH_TRIG_TOOLTIP_COS = 'Fournit le cosinus de l\'angle donné en degrés';
    Blockly.Msg.LANG_MATH_TRIG_TOOLTIP_SIN = 'Fournit le sinus de l\'angle donné en degrés';
    Blockly.Msg.LANG_MATH_TRIG_TOOLTIP_TAN = 'Renvoie la tangente de l\'angle en degrés.';
    Blockly.Msg.LANG_PROCEDURES_CALLNORETURN_CALL = 'appeler ';
    Blockly.Msg.LANG_PROCEDURES_CALLNORETURN_COLLAPSED_PREFIX = 'appeler ';
    Blockly.Msg.LANG_PROCEDURES_CALLNORETURN_PROCEDURE = 'procédure';
    Blockly.Msg.LANG_PROCEDURES_CALLNORETURN_TOOLTIP = 'Appeler une procédure sans retour de valeur.';
    Blockly.Msg.LANG_PROCEDURES_CALLNORETURN_TRANSLATED_NAME = 'Appeler sans retour';
    Blockly.Msg.LANG_PROCEDURES_CALLRETURN_CALL = '';
    Blockly.Msg.LANG_PROCEDURES_CALLRETURN_COLLAPSED_PREFIX = 'appeler ';
    Blockly.Msg.LANG_PROCEDURES_CALLRETURN_PROCEDURE = '';
    Blockly.Msg.LANG_PROCEDURES_CALLRETURN_TOOLTIP = 'Appeler une procédure avec une valeur de retour.';
    Blockly.Msg.LANG_PROCEDURES_CALLRETURN_TRANSLATED_NAME = 'retour d\'appel';
    Blockly.Msg.LANG_PROCEDURES_DEFNORETURN_COLLAPSED_PREFIX = 'à';
    Blockly.Msg.LANG_PROCEDURES_DEFNORETURN_DEFINE = 'à';
    Blockly.Msg.LANG_PROCEDURES_DEFNORETURN_DO = 'faire';
    Blockly.Msg.LANG_PROCEDURES_DEFNORETURN_PROCEDURE = 'procédure';
    Blockly.Msg.LANG_PROCEDURES_DEFNORETURN_TOOLTIP = 'Une procédure qui ne retourne pas de valeur.';
    Blockly.Msg.LANG_PROCEDURES_DEFRETURN_COLLAPSED_PREFIX = 'à';
    Blockly.Msg.LANG_PROCEDURES_DEFRETURN_DEFINE = 'à';
    Blockly.Msg.LANG_PROCEDURES_DEFRETURN_DO = '';
    Blockly.Msg.LANG_PROCEDURES_DEFRETURN_PROCEDURE = '';
    Blockly.Msg.LANG_PROCEDURES_DEFRETURN_RETURN = 'résultat';
    Blockly.Msg.LANG_PROCEDURES_DEFRETURN_TOOLTIP = 'Une procédure qui retourne une valeur résultat.';
    Blockly.Msg.LANG_PROCEDURES_DEF_DUPLICATE_WARNING = 'Avertissement:\nCette procédure a\ndeux entrées dupliquées.';
    Blockly.Msg.LANG_PROCEDURES_DOTHENRETURN_COLLAPSED_TEXT = 'faire/résultat';
    Blockly.Msg.LANG_PROCEDURES_DOTHENRETURN_DO = 'faire';
    Blockly.Msg.LANG_PROCEDURES_DOTHENRETURN_RETURN = 'résultat';
    Blockly.Msg.LANG_PROCEDURES_DOTHENRETURN_THEN_RETURN = 'résultat';
    Blockly.Msg.LANG_PROCEDURES_DOTHENRETURN_TOOLTIP = 'Exécute les blocs dans la partie \'faire\' et retourne un résultat. Pratique si vous avez besoin d\'exécuter une procédure avant de retourner une valeur à une variable.';
    Blockly.Msg.LANG_PROCEDURES_HIGHLIGHT_DEF = 'Procédure en surbrillance';
    Blockly.Msg.LANG_PROCEDURES_MUTATORARG_TITLE = 'entrée :';
    Blockly.Msg.LANG_PROCEDURES_MUTATORARG_TOOLTIP = '';
    Blockly.Msg.LANG_PROCEDURES_MUTATORCONTAINER_TITLE = 'entrées';
    Blockly.Msg.LANG_PROCEDURES_MUTATORCONTAINER_TOOLTIP = '';
    Blockly.Msg.LANG_TEXT_APPEND_APPENDTEXT = 'ajouter le texte';
    Blockly.Msg.LANG_TEXT_APPEND_TO = 'à';
    Blockly.Msg.LANG_TEXT_APPEND_TOOLTIP = 'Ajoute du texte à la variable "%1".';
    Blockly.Msg.LANG_TEXT_APPEND_VARIABLE = 'élément';
    Blockly.Msg.LANG_TEXT_CHANGECASE_OPERATOR_DOWNCASE = 'minuscule';
    Blockly.Msg.LANG_TEXT_CHANGECASE_OPERATOR_UPPERCASE = 'majuscule';
    Blockly.Msg.LANG_TEXT_CHANGECASE_TOOLTIP_DOWNCASE = 'Retourne une copie de sa chaine de caractère en argument convertie en minuscule.';
    Blockly.Msg.LANG_TEXT_CHANGECASE_TOOLTIP_UPPERCASE = 'Retourne une copie de sa chaine de caractère en argument convertie en majuscule.';
    Blockly.Msg.LANG_TEXT_COMPARE_EQUAL = ' =';
    Blockly.Msg.LANG_TEXT_COMPARE_NEQ = ' ≠';
    Blockly.Msg.LANG_TEXT_COMPARE_GT = ' >';
    Blockly.Msg.LANG_TEXT_COMPARE_INPUT_COMPARE = 'comparer textes';
    Blockly.Msg.LANG_TEXT_COMPARE_LT = ' <';
    Blockly.Msg.LANG_TEXT_COMPARE_TOOLTIP_EQUAL = 'Teste si les chaines de caractères sont identiques, c-à-d, ont les mêmes\ncaractères dans le même ordre. Ceci est différent du = ordinaire\ndans le case où les chaines sont des nombres: 123 et 0123 sont égales\nmais pas en tant que texte.';
    Blockly.Msg.LANG_TEXT_COMPARE_TOOLTIP_GT = 'Rapporte si text1 est supérieur à texte2 d\'une façon lexicographique.\n Si un texte est le préfixe de l\'autre, le texte le plus court est considéré plus petit.\nLes caractères en majuscules précèdent les caractères en minuscules.';
    Blockly.Msg.LANG_TEXT_COMPARE_TOOLTIP_LT = 'Teste si text1 est inférieur à text2 (d\'une façon lexicographique).\nSi un texte est le préfixe de l\'autre, le texte le plus court est\nconsidéré comme plus petit. Les caractères en majuscules précèdent les caractères en minuscules.';
    Blockly.Msg.LANG_TEXT_CONTAINS_INPUT = 'contient       texte %1 sous-chaine %2';
    Blockly.Msg.LANG_TEXT_CONTAINS_INPUT_CONTAINS = 'contient';
    Blockly.Msg.LANG_TEXT_CONTAINS_INPUT_PIECE = 'sous-chaine';
    Blockly.Msg.LANG_TEXT_CONTAINS_INPUT_TEXT = 'texte';
    Blockly.Msg.LANG_TEXT_CONTAINS_TOOLTIP = 'Teste si la sous-chaine se trouve dans le texte';
    Blockly.Msg.LANG_TEXT_ISEMPTY_INPUT_ISEMPTY = 'est vide';
    Blockly.Msg.LANG_TEXT_ISEMPTY_TOOLTIP = 'Retourne vrai si la taille du\ntexte est 0, sinon retourne faux.';
    Blockly.Msg.LANG_TEXT_JOIN_ITEM_TITLE_ITEM = 'chaîne de caractères';
    Blockly.Msg.LANG_TEXT_JOIN_ITEM_TOOLTIP = '';
    Blockly.Msg.LANG_TEXT_JOIN_TITLE_CREATEWITH = 'créer un texte avec';
    Blockly.Msg.LANG_TEXT_JOIN_TITLE_JOIN = 'joint';
    Blockly.Msg.LANG_TEXT_JOIN_TOOLTIP = 'Joindre toutes les entrées pour former une seule chaine de caractère.\nS\'il n\'y a aucunes entrées, créé un texte vide.';
    Blockly.Msg.LANG_TEXT_LENGTH_INPUT_LENGTH = 'longueur';
    Blockly.Msg.LANG_TEXT_LENGTH_TOOLTIP = 'Retourne le nombre de caractères (espaces inclus)\ndans le texte donnée.';
    Blockly.Msg.LANG_TEXT_REPLACE_ALL_INPUT = 'remplacer tout texte %1 segment %2 remplacent  %3';
    Blockly.Msg.LANG_TEXT_REPLACE_ALL_INPUT_REPLACEMENT = 'remplacent';
    Blockly.Msg.LANG_TEXT_REPLACE_ALL_INPUT_SEGMENT = 'segment';
    Blockly.Msg.LANG_TEXT_REPLACE_ALL_INPUT_TEXT = 'texte';
    Blockly.Msg.LANG_TEXT_REPLACE_ALL_TITLE_REPLACE_ALL = 'tout remplacer';
    Blockly.Msg.LANG_TEXT_REPLACE_ALL_TOOLTIP = 'Retourne un nouveau texte obtenu par le remplacement de toutes les occurrences\ndu segment avec le remplacent';
    Blockly.Msg.LANG_TEXT_SEGMENT_AT_TOOLTIP = 'Extraits le segment de la taille donnée à partir du texte donné\nen commençant du texte donnée à partir de la position donnée. Position\n1 donne le début du texte.';
    Blockly.Msg.LANG_TEXT_SEGMENT_INPUT = 'segment       texte %1 début %2 taille %3';
    Blockly.Msg.LANG_TEXT_SEGMENT_INPUT_LENGTH = 'longueur';
    Blockly.Msg.LANG_TEXT_SEGMENT_INPUT_START = 'début';
    Blockly.Msg.LANG_TEXT_SEGMENT_INPUT_TEXT = 'texte';
    Blockly.Msg.LANG_TEXT_SEGMENT_TITLE_SEGMENT = 'segment';
    Blockly.Msg.LANG_TEXT_SPLIT_AT_SPACES_TITLE = 'diviser aux espaces';
    Blockly.Msg.LANG_TEXT_SPLIT_AT_TOOLTIP = 'Diviser le texte en sous-chaines séparées par des espaces.';
    Blockly.Msg.LANG_TEXT_SPLIT_INPUT_AT = 'à';
    Blockly.Msg.LANG_TEXT_SPLIT_INPUT_AT_LIST = 'à (liste)';
    Blockly.Msg.LANG_TEXT_SPLIT_INPUT_TEXT = 'texte';
    Blockly.Msg.LANG_TEXT_SPLIT_OPERATOR_SPLIT = 'diviser';
    Blockly.Msg.LANG_TEXT_SPLIT_OPERATOR_SPLIT_AT_ANY = 'diviser à n\'importe';
    Blockly.Msg.LANG_TEXT_SPLIT_OPERATOR_SPLIT_AT_FIRST = 'diviser au début';
    Blockly.Msg.LANG_TEXT_SPLIT_OPERATOR_SPLIT_AT_FIRST_OF_ANY = 'diviser au début de n\'importe';
    Blockly.Msg.LANG_TEXT_SPLIT_TOOLTIP_SPLIT = 'Divise le texte en sous-chaines en utilisant le texte \'à\' comme point de division et produit une liste\nde résultats. Diviser "one,two,three,four" à "," (virgule) retourne la liste "(one two three four)". \nDiviser "one-potato,two-potato,three-potato,four" à "-potato", retourne la liste "(one two three four)".';
    Blockly.Msg.LANG_TEXT_SPLIT_TOOLTIP_SPLIT_AT_ANY = 'Divise le texte donné dans une liste, en utilisant n\'importe quels éléments dans la liste, \'à\' est le point de division, et retourne une liste de résultats.\nDiviser "appleberry,banana,cherry,dogfood" avec \'à\' contient une liste à deux éléments qui sont\nla virgule et "rry" va retourner une liste à 4 éléments: "(applebe banana che dogfood)".';
    Blockly.Msg.LANG_TEXT_SPLIT_TOOLTIP_SPLIT_AT_FIRST = 'Divise le texte donné en deux partie en utilisant la position de la première occurrence du\ntexte \'à\' comme point de division, et retourne une liste à deux éléments consistant en la sous-chaine\navant le point de division et la sous-chaine d\'après.\nDiviser "apple,banana,cherry,dogfood" avec la virgule comme point de division retourne\nune liste de deux éléments: le premier est le texte  "apple" et le deuxième est le texte\n"banana,cherry,dogfood". \nNotez que la virgule après "apple" n\'apparaît pas dans le résultat,\n parce que c\'est le point diviseur.';
    Blockly.Msg.LANG_TEXT_SPLIT_TOOLTIP_SPLIT_AT_FIRST_OF_ANY = 'Divise le texte donné en deux éléments de liste, en utilisant la première position de n\'importe\nquel élément dans la liste \'à\' comme point de division\n\nDiviser "I love apples bananas apples grapes" par la liste "(ba,ap)" retourne \nune liste de deux éléments, le premier est  "I love" et le deuxième est\n "ples bananas apples grapes."';
    Blockly.Msg.LANG_TEXT_STARTS_AT_INPUT = 'Commence à      texte %1 sous-chaine %2';
    Blockly.Msg.LANG_TEXT_STARTS_AT_INPUT_PIECE = 'sous-chaine';
    Blockly.Msg.LANG_TEXT_STARTS_AT_INPUT_STARTS_AT = 'commence avec';
    Blockly.Msg.LANG_TEXT_STARTS_AT_INPUT_TEXT = 'texte';
    Blockly.Msg.LANG_TEXT_STARTS_AT_TOOLTIP = 'Retourne l\'index de début de la sous-chaine dans le texte\noù index 1 indique le début du texte. Retourne 0 si la\nsous-chaine n\'est pas dans le texte.';
    Blockly.Msg.LANG_TEXT_TEXT_LEFT_QUOTE = '\u201C';
    Blockly.Msg.LANG_TEXT_TEXT_OBFUSCATE = 'Texte masqué';
    Blockly.Msg.LANG_TEXT_TEXT_OBFUSCATE_TOOLTIP = 'Produit un texte';
    Blockly.Msg.LANG_TEXT_TEXT_RIGHT_QUOTE = '\u201D';
    Blockly.Msg.LANG_TEXT_TEXT_TOOLTIP = 'Une chaine de caractère';
    Blockly.Msg.LANG_TEXT_TRIM_TITLE_TRIM = 'couper';
    Blockly.Msg.LANG_TEXT_TRIM_TOOLTIP = 'Retourne une copie de ses arguments textes avec\nla suppression des espaces de début et de fin.\' ';
    Blockly.Msg.LANG_VARIABLES_GET_COLLAPSED_TEXT = 'obtenir';
    Blockly.Msg.LANG_VARIABLES_GET_TITLE_GET = 'obtenir';
    Blockly.Msg.LANG_VARIABLES_GET_TOOLTIP = 'Retourne la valeur de cette variable.';
    Blockly.Msg.LANG_VARIABLES_GLOBAL_DECLARATION_COLLAPSED_TEXT = 'global';
    Blockly.Msg.LANG_VARIABLES_GLOBAL_DECLARATION_NAME = 'nom';
    Blockly.Msg.LANG_VARIABLES_GLOBAL_DECLARATION_TITLE_INIT = 'initialise global';
    Blockly.Msg.LANG_VARIABLES_GLOBAL_DECLARATION_TO = 'à';
    Blockly.Msg.LANG_VARIABLES_GLOBAL_DECLARATION_TOOLTIP = 'Créé une variable globale et lui donne la valeur du bloc attaché ';
    Blockly.Msg.LANG_VARIABLES_LOCAL_DECLARATION_COLLAPSED_TEXT = 'local';
    Blockly.Msg.LANG_VARIABLES_LOCAL_DECLARATION_DEFAULT_NAME = 'nom';
    Blockly.Msg.LANG_VARIABLES_LOCAL_DECLARATION_EXPRESSION_COLLAPSED_TEXT = 'local';
    Blockly.Msg.LANG_VARIABLES_LOCAL_DECLARATION_EXPRESSION_IN_RETURN = 'dans';
    Blockly.Msg.LANG_VARIABLES_LOCAL_DECLARATION_EXPRESSION_TOOLTIP = 'Vous permet de créer des variables qui sont accessibles uniquement dans la partie retour de ce bloc.';
    Blockly.Msg.LANG_VARIABLES_LOCAL_DECLARATION_EXPRESSION_TRANSLATED_NAME = 'initialise local en retour';
    Blockly.Msg.LANG_VARIABLES_LOCAL_DECLARATION_INPUT_TO = 'à';
    Blockly.Msg.LANG_VARIABLES_LOCAL_DECLARATION_IN_DO = 'dans';
    Blockly.Msg.LANG_VARIABLES_LOCAL_DECLARATION_TITLE_INIT = 'initialise local';
    Blockly.Msg.LANG_VARIABLES_LOCAL_DECLARATION_TOOLTIP = 'Vous permet de créer des variables qui sont uniquement accessibles dans la partie faire de ce bloc.';
    Blockly.Msg.LANG_VARIABLES_LOCAL_DECLARATION_TRANSLATED_NAME = 'initialise local dans faire?';
    Blockly.Msg.LANG_VARIABLES_LOCAL_MUTATOR_ARG_DEFAULT_VARIABLE = 'x';
    Blockly.Msg.LANG_VARIABLES_LOCAL_MUTATOR_ARG_TITLE_NAME = 'nom';
    Blockly.Msg.LANG_VARIABLES_LOCAL_MUTATOR_CONTAINER_TITLE_LOCAL_NAMES = 'noms locaux';
    Blockly.Msg.LANG_VARIABLES_LOCAL_MUTATOR_CONTAINER_TOOLTIP = '';
    Blockly.Msg.LANG_VARIABLES_SET_COLLAPSED_TEXT = 'mettre';
    Blockly.Msg.LANG_VARIABLES_SET_TITLE_SET = 'mettre';
    Blockly.Msg.LANG_VARIABLES_SET_TITLE_TO = 'à';
    Blockly.Msg.LANG_VARIABLES_SET_TOOLTIP = 'Fixe cette variable pour être égale à l\'entrée.';
    Blockly.Msg.LANG_VARIABLES_VARIABLE = ' variable';
    Blockly.Msg.MISSING_SOCKETS_WARNINGS = 'Vous devez remplir tous les trous avec des blocs';
    Blockly.Msg.REMOVE_COMMENT = 'Supprimer le commentaire';
    Blockly.Msg.REPL_AI_NO_SEE_DEVICE = 'AI2 ne peut pas voir votre appareil, soyez sûr que le câble est branché et que les pilotes sont corrects.';
    Blockly.Msg.REPL_APPROVE_UPDATE = ' écran car vous allez être appelé à accepter la mise à jour.';
    Blockly.Msg.REPL_CANCEL = 'Annuler';
    Blockly.Msg.REPL_COMPANION_OUT_OF_DATE = 'Votre application compagnon est obsolète. Cliquez sur "OK" pour démarrer la mise à jour. Regardez votre ';
    Blockly.Msg.REPL_COMPANION_OUT_OF_DATE1 = 'Le compagnon que vous utilisez et obsolète.<br/><br/>Cette version de App Inventor doit être utilisé avec le compagnon version ';
    Blockly.Msg.REPL_COMPANION_OUT_OF_DATE_IMMEDIATE = 'Vous utilisez un compagnon obsolète. Vous n\'avez pas besoin de mettre à jour le compagnon immédiatement mais vous devriez le faire prochainement.';
    Blockly.Msg.REPL_COMPANION_STARTED_WAITING = 'Compagnon en cours de lancement, attente ';
    Blockly.Msg.REPL_COMPANION_VERSION_CHECK = 'Contrôle de la version compagnon';
    Blockly.Msg.REPL_CONNECTING = 'Connexion en cours...';
    Blockly.Msg.REPL_CONNECTING_USB_CABLE = 'Connexion via le câble USB\' ';
    Blockly.Msg.REPL_CONNECTION_FAILURE1 = 'Échec de connexion';
    Blockly.Msg.REPL_CONNECT_TO_COMPANION = 'Se connecter au Compagnon';
    Blockly.Msg.REPL_DEVICES = 'appareil(s)';
    Blockly.Msg.REPL_DISMISS = 'Rejeter';
    Blockly.Msg.REPL_DO_YOU_REALLY_Q = 'Voulez-vous vraiment ?';
    Blockly.Msg.REPL_EMULATORS = 'Émulateurs';
    Blockly.Msg.REPL_EMULATOR_STARTED = 'Émulateur démarré, en attente ';
    Blockly.Msg.REPL_ERROR_FROM_COMPANION = 'Erreur de Compagnon';
    Blockly.Msg.REPL_FACTORY_RESET = 'Ceci va essayer de réinitialiser votre Émulateur à son état d\'usine. Si vous avez auparavant mis à jour le Compagnon installé dans l\'émulateur, vous allez probablement devoir le faire une autre fois. ';
    Blockly.Msg.REPL_GIVE_UP = 'Abandonner';
    Blockly.Msg.REPL_GOT_IT = 'Entendu';
    Blockly.Msg.REPL_HELPER_NOT_RUNNING = 'L\'assistant aiStarter semble ne pas fonctionné<br /><a href="http://appinventor.mit.edu" target="_blank">Besoin d\'aide?</a>';
    Blockly.Msg.REPL_HELPER_Q = 'Assistant?';
    Blockly.Msg.REPL_KEEP_TRYING = 'Continuer à essayer';
    Blockly.Msg.REPL_NETWORK_CONNECTION_ERROR = 'Erreur de connexion réseau';
    Blockly.Msg.REPL_NETWORK_ERROR = 'Erreur réseau';
    Blockly.Msg.REPL_NETWORK_ERROR_RESTART = 'Erreur de communication réseau avec le compagnon .<br />Essayez de redémarrer le compagnon et reconnecter\'  ';
    Blockly.Msg.REPL_NOT_NOW = 'Pas maintenant';
    Blockly.Msg.REPL_NOW_DOWNLOADING = 'Nous sommes en train de télécharger des mises à jour du serveur App Inventor, attendez svp';
    Blockly.Msg.REPL_NO_ERROR_FIVE_SECONDS = '<br/><i>Note:</i>&nbsp;Vous n\'allez pas voir une autre erreur rapportée pour 5 secondes.';
    Blockly.Msg.REPL_NO_START_EMULATOR = 'On ne peut pas ouvrir le compagnon avec l\'émulateur';
    Blockly.Msg.REPL_OK = 'OK';
    Blockly.Msg.REPL_OK_LOWER = 'Ok';
    Blockly.Msg.REPL_PLUGGED_IN_Q = 'Branché?';
    Blockly.Msg.REPL_RUNTIME_ERROR = 'Erreur d\'exécution';
    Blockly.Msg.REPL_SECONDS_ENSURE_RUNNING = ' secondes pour être sûr que tout fonctionne.';
    Blockly.Msg.REPL_SOFTWARE_UPDATE = 'Rejeter';
    Blockly.Msg.REPL_STARTING_COMPANION_IN_EMULATOR = 'Lancement de l\'application Compagnon dans l\'émulateur.';
    Blockly.Msg.REPL_STARTING_COMPANION_ON_PHONE = 'Lancement de l\'application compagnon dans l\'appareil connecté.';
    Blockly.Msg.REPL_STARTING_EMULATOR = 'Lancement de l\'émulateur Android <br/>Attendez svp: ceci peut prendre une minute ou deux.';
    Blockly.Msg.REPL_TRY_AGAIN1 = 'Impossible de se connecter au compagnon, essayez une autre fois.';
    Blockly.Msg.REPL_UNABLE_TO_LOAD = 'Impossible de charger les mises à jour du serveur App Inventor';
    Blockly.Msg.REPL_UNABLE_TO_LOAD_NO_RESPOND = 'Impossible de charger les mises à jour du serveur App Inventor (le serveur ne répond pas)';
    Blockly.Msg.REPL_UNABLE_TO_UPDATE = 'Impossible d\'envoyer les mises à jour à l\'appareil/émulateur';
    Blockly.Msg.REPL_UPDATE_INFO = 'La mise à jour est actuellement en cours d\'installation sur votre appareil. Regardez votre appareil (ou émulateur) et acceptez l\'installation du logiciel quand c\'est demandé.<br /><br />IMPORTANT:  Quand la mise à jour est terminée, choisissez "terminé" (ne pas cliquer sur "Ouvrir"). Ensuite, allez à App Inventor dans votre navigateur, cliquez sur le menu "Connecte" et choisissez "Réinitialiser Connexion". Ensuite, reconnectez l\'appareil.';
    Blockly.Msg.REPL_USB_CONNECTED_WAIT = 'USB connecté, attente \' ';
    Blockly.Msg.REPL_VERIFYING_COMPANION = 'Vérification que le Compagnon est lancé ...';
    Blockly.Msg.REPL_YOUR_CODE_IS = 'Votre code est';
    Blockly.Msg.SHOW_WARNINGS = 'Afficher les avertissements';
    Blockly.Msg.SORT_C = 'Trier les blocs par catégorie';
    Blockly.Msg.SORT_H = 'Trier les blocs par hauteur\' ';
    Blockly.Msg.SORT_W = 'Trier les blocs par largeur\' ';
    Blockly.Msg.VERTICAL_PARAMETERS = 'Arrange les paramètres verticalement';
    Blockly.Msg.WARNING_DELETE_X_BLOCKS = 'Voulez-vous vraiment supprimer tous les %1 blocs ?';
    Blockly.Msg.WRONG_TYPE_BLOCK_WARINGS = 'Ce bloc doit être connecté à un bloc d\'évènement ou la définition d\'une procédure';

    Blockly.Msg.TIME_YEARS = "Années";
    Blockly.Msg.TIME_MONTHS = "Mois";
    Blockly.Msg.TIME_WEEKS = "Semaines";
    Blockly.Msg.TIME_DAYS = "Jours";
    Blockly.Msg.TIME_HOURS = "Heures";
    Blockly.Msg.TIME_MINUTES = "Minutes";
    Blockly.Msg.TIME_SECONDS = "Secondes";
    Blockly.Msg.TIME_DURATION = "Durée";

  }
};

// Initalize language definition to French
Blockly.Msg.fr.switch_blockly_language_to_fr.init();
Blockly.Msg.fr.switch_language_to_french.init();
